home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / c / gcc222-2.lha / gcc_include / sys / file.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-08  |  1.8 KB  |  65 lines

  1. /*    system files for ansic.library        */
  2. /*    (c)Copyright 1992 Davide Pasetto     */
  3.  
  4. #ifndef    _SYS_FILE_H
  5. #define _SYS_FILE_H
  6.  
  7. /* flags for access */
  8.  
  9. #define    X_OK    1
  10. #define    W_OK    2
  11. #define    R_OK    4
  12.  
  13. /* flags for open call */
  14.  
  15. #define O_RDONLY    0x01    /* open existing file for reading only */
  16. #define O_WRONLY    0x02    /* open for writing (also create) */
  17. #define O_RDWR        0x03    /* open for read-write */
  18. #define O_APPEND    0x40    /* append to file */
  19. #define O_CREAT        0x20    /* create new file if needed */
  20. #define O_TRUNC        0x40    /* make file 0 length */
  21. #define O_EXCL        0x80    /* error if file exists */
  22.  
  23. /* flags for lseek call */
  24.  
  25. #define L_XTND        2        /* lseek from end */
  26.  
  27. /* standard file calls prototypes */
  28.  
  29. #ifdef    __cplusplus
  30. extern "C" {
  31. #endif
  32.  
  33. extern    int        access(char *name,int mode);
  34. extern    int        chdir(char *name);
  35. extern    int        chmod(char *name,int mode);
  36. extern    int        chqwn(char *name,int owner, int group);
  37. extern    int        close(int fd);
  38. extern    int        creat(char *name, int mode);
  39. extern    int        execv(char *name,char *argv[]);
  40. extern    int        execve(char *name,char *argv[],char *envp[]);
  41. extern    int        link(char *name1,char *name2);
  42. extern    long    lseek(int fd,long offset,int whence);
  43. /* extern    int        open(char *name,int mode); */
  44. extern    int        read(int fd,char *buf,int nbytes);
  45. extern    int        unlink(char *name);
  46. extern    int        write(int fd,char *buf,int nbytes);
  47. extern    int        isatty(int fd);
  48.  
  49. #ifdef    __cplusplus
  50. }
  51. #endif
  52.  
  53. /* some general un*x calls defined as macros for more speed */
  54.  
  55. /* #define tell(file)            lseek(file,0L,1)    */
  56. #define umask(mode)            (0)                /* masks not supported */
  57. #define getdtablesize()        (50)            /* MAX_FILE_NUMBER */
  58. #define getpid()            (FindTask(0L))    /* get process ID */
  59. #define getuid()            (0)                /* get user id */
  60. #define geteuid()            (0)                /* get effective user id */
  61. #define getgid()            (0)                /* get group id */
  62. #define getegid()            (0)                /* get effective group id */
  63.  
  64. #endif    /* _SYS_FILE_H */
  65.